2 Простейшие программы


2.1 Консольные программы

Консольные программы на Java – это наиболее простой вид программ, не имеющих собственного графического интерфейса, весь ввод и вывод информации происходит в окне консоли. В настоящее время консольные программы не имеют особого практического применения, их заменяют программами с графическим интерфейсом.

Для создания консольной программы необходимо выбрать в меню опцию «Файл» – «Создать проект»:



Выбрать категорию «Java» – «Приложение Java»:



Указать имя проекта и необходимость создать главный класс. В главном классе и будет располагаться консольная программа.

Имя проекта необходимо задать так: «FIOnn_DEMO», где FIO – инициалы автора программы, nn – номер варианта, например, «TSN01_DEMO».

Название главного класса необходимо задать так: «fionn.demo.App1», где fio – инициалы автора программы, nn – номер варианта, например «tsn01.demo.App1».



Рассмотрим пример простейшей консольной программы.



package tsn01.demo;

import java.util.Scanner;

public class App1 {

public static void main(String[] args) {

// Простейшая консольная программа

Scanner sc = new Scanner(System.in); // Подключение к консоли

System.out.print("Как вас зовут: "); // Вывод вопроса

String n = sc.next(); // Ввод с консоли строкового значения

System.out.print("Сколько вам лет: "); // Вывод вопроса

int a = sc.nextInt(); // Ввод с консоли целого значения

System.out.print("Ваш вес: "); // Вывод вопроса

float w = sc.nextFloat();// Ввод с консоли вещественного значения

System.out.println("Привет, " + n + "! Тебе " + a + " года, вес "

+ w + " кг.");

sc.close(); // Закрытие консоли

}

}


Запуск программы через командную строку Windows с поддержкой русского языка:


java -Dfile.encoding=Cp866 -jar TSN01_DEMO.jar



Рассмотрим пример консольной программы для решения квадратного уравнения.


package tsn01.demo;

import java.util.Scanner;

public class App1 {

public static void main(String[] args) {

// Вычисление квадратного уравнения

double a, b, c; // Входные переменные

double x1, x2; // Искомые значения

double d; // Дискриминант

try {

Scanner sc = new Scanner(System.in); //Создаем объект для ввода данных с консоли

System.out.println("Решение квадратного уравнения");

System.out.print("Введите a=");

a = sc.nextDouble(); // Ввод значения "a" с консоли

System.out.print("Введите b=");

b = sc.nextDouble(); // Ввод значения "b" с консоли

System.out.print("Введите c=");

c = sc.nextDouble(); // Ввод значения "c" с консоли

d = (b * b) – 4 * a * c; // Расчет дискриминанта

x1 = (-b + Math.sqrt(d)) / (2 * a); // Расчет "x1"

x2 = (-b – Math.sqrt(d)) / (2 * a); // Расчет "x2"

if (!(Double.isNaN(x1)) && (!Double.isInfinite(x1)) // Проверка существования значений

&& (!(Double.isNaN(x2)) && (!Double.isInfinite(x2)))) {

System.out.format("x1=%.3f%nx2= %.3f%n", x1, x2); // Вывод ответа

} else {

System.out.println("Нет решения!"); // Нет решения

}

sc.close(); // Закрываем ввод с консоли

} catch (Exception e) { // Ввели вместо цифр буквы

System.out.println("Неверные входные данные!");

}

}

}



2.2 Простейшая программа с графическим интерфейсом в среде NetBeans

Заходим в меню "Файл" – "Создать проект":



Выбираем категорию "Java", тип проекта "Приложение Java":



Указываем имя проекта. Имя проекта необходимо задать по шаблону «TSN01_LAB1», где «TSN» – инициалы автора программы большими буквами, «01» – номер варианта (2 цифры), далее идет знак «_», слово «LAB» большими буквами и номер лабораторной работы. При необходимости указываем новый каталог для расположения проекта. Нажимаем кнопку «Готово».

При создании приложения необходимо указать, что создавать главный класс не нужно, убрав соответствующую галочку, т.к. главный класс будет располагаться в окне:



Устанавливаем курсор мыши на «пакет по-умолчанию», после этого нажимаем на этом пункте правую кнопку мыши. В появившемся контекстном меню выбираем «Новый» – «Форма JFrame»:



Указываем имя класса (окна). Рекомендуется имя формы задавать по шаблону «Form1», где «Form» – означает, что это форма, первая буква большая, а «1» – номер формы в программе.

Далее, необходимо указать имя пакета. Имя пакета необходимо задать по шаблону «tsn01.lab1», где «tsn» – инициалы автора программы маленькими буквами, «01» – номер варианта (2 цифры), далее идет знак «.» (точка), слово «lab» маленькими буквами и номер лабораторной работы.

Нажимаем кнопку «Готово».



Выделяем в окне «Проекты» полученную форму «Form1». Простейшая программа из пустого окна готова.

Запускаем полученную программу: «Выполнить» – «Запустить проект» (F6).



Появиться окно для указания главного класса в программе. Необходимо выбрать класс и именем формы и нажать «ОК». После этого запустится программа.



Рассмотрим пример кода для кнопки «Расчет» и интерфейс простейшей программы деления двух цифр:



private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// Вычисление выражения

String a, b, c; // Строковые переменные

double z; // Вещественные переменные

double x, y; // Вещественные переменные

// int x, y; // Целочисленные переменные

a = jTextField1.getText(); // Получение значения из окошка 1

b = jTextField2.getText(); // Получение значения из окошка 2


try { // Начало защищенного блока

x = Double.parseDouble(a); // Преобразование текстового значения в вещественное

y = Double.parseDouble(b); // Преобразование текстового значения в вещественное

// x = Integer.parseInt(a); // Преобразование текстового значения в целочисленное

// y = Integer.parseInt(b); // Преобразование текстового значения в целочисленное


z = x / y; // Вычисление выражения

// z = (double)( x) / (double) (y); // Вычисление выражения


// Проверка на: 0/0, z/0

if ((Double.isNaN(z) == true) || Double.isInfinite(z) == true) {

throw new Exception("error"); // Если нет решение то генерирование ошибки

}


// Описание формата вещественного числа

DecimalFormat df = new DecimalFormat("#0.00");

c = String.valueOf(df.format(z)); // Преобразование числа в строку

jTextField3.setText(c); // Вывод ответа в окошко

// jTextField3.setText(String.valueOf(new DecimalFormat("#0.00").format(z))); // Вывод ответа в окошко

} catch (Exception ee) { // Обработчики ошибок защищенного блока

Toolkit.getDefaultToolkit ().beep (); // Звуковой сигнал

jTextField3.setText("Неверные данные!"); // Обработка ошибки ввода или вычисления

} // Конец защищенного блока

}

Рассмотрим пример кода кнопки «Решить» и «Выход» для расчета математического значения по условию:



private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

// Решение примера

float x, b, d, y; // Вещественные переменные


try {

x = Float.parseFloat(jTextField1.getText()); // Получение данных

b = Float.parseFloat(jTextField2.getText()); // Получение данных

d = Float.parseFloat(jTextField3.getText()); // Получение данных

} catch (Exception ex) {

Toolkit.getDefaultToolkit().beep(); // Издаем звук

// Выводим окошко с сообщением об ошибке

JOptionPane.showMessageDialog(rootPane, "Ошибка введенных данных!", "Ошибка ввода", JOptionPane.ERROR_MESSAGE);

jTextField1.requestFocus(); // Устанавливаем фокус на компонент

jLabel5.setText("В введенных значениях допущены ошибки.");

jTextField1.setText(""); // Очистка данных

jTextField2.setText(""); // Очистка данных

jTextField3.setText(""); // Очистка данных

return; // Выход из метода (процедуры)

}


if (x >= 8) { // Вычисление выражения

y = (x – 2) / (x * x);

} else {

y = b * b * d + 4 * x * x * x;

}

jLabel5.setText("ОТВЕТ: " + String.format("%.2f", y)); // Выдача ответа с двумя знаками после запятой

}


private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

// Выход из программы

System.exit(0);

}


private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {

Загрузка...